﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Dados;
namespace Negocios
{
    public class Especificacao
    {
        private int codigo;

        public int Codigo
        {
            get { return codigo; }
            set { codigo = value; }
        }

        int tipo;

        public int Tipo
        {
            get { return tipo; }
            set
            {
                if (value != 1 && value != 2)
                    throw new Exception("Tipo desconhecido");
                else
                    tipo = value;
            }
        }
        private int largura;

        public int Largura
        {
            get { return largura; }
            set
            {
                if (tipo == 1 && value==0)
                    throw new Exception("A largura deverá ser informado");
                else largura = value;
            }
        }

        private int altura;

        public int Altura
        {
            get { return altura; }
            set
            {
                if (tipo == 1 && value==0)
                    throw new Exception("A altura deverá ser informado");
                else altura = value;
            }
        }

        private double bitrate;

        public double Bitrate
        {
            get { return bitrate; }
            set
            {
                if (tipo == 2 && value==0 )
                    throw new Exception("O bitrate deverá ser informado");
                else bitrate = value;
            }
        }

        public Especificacao(int codigo)
        {
            Codigo = codigo;
        }

        public Especificacao(int tipo, int largura, int altura, double bitrate)
        {
            Tipo = tipo;
            Largura = largura;
            Altura = altura;
            Bitrate = bitrate;
        }

        public Especificacao(int codigo, int tipo, int largura, int altura, double bitrate)
        {
            Codigo = codigo;
            Tipo = tipo;
            Largura = largura;
            Altura = altura;
            Bitrate = bitrate;
        }

        public override string ToString()
        {
            if (this.Tipo == 1) return this.Largura.ToString()+"x"+this.Altura.ToString();
            else return this.Bitrate.ToString()+"kbps";
        }

    }
}
